intellectual property traditional outsourcing software development copyright partnersourcing development patent licensing java attorney license specialty practices software